namespace ColladaDotNet.Pipeline.MD3
{
	public class Surface
	{
		public string IDENT;// 	Magic number. As a string of 4 octets, reads "IDP3"; as unsigned little-endian 860898377 (0x33504449); as unsigned big-endian 1229213747 (0x49445033).
		public string NAME;// 	Name of Surface object. ASCII character string, NUL-terminated (C-style).
		public int 	FLAGS;// 	 ???
		public int 	NUM_FRAMES;// 	Number of animation frames. This should match NUM_FRAMES in the MD3 header.
		public int 	NUM_SHADERS;// 	Number of Shader objects defined in this Surface, with a limit of MD3_MAX_SHADERS. Current value of MD3_MAX_SHADERS is 256.
		public int 	NUM_VERTS;// 	Number of Vertex objects defined in this Surface, up to MD3_MAX_VERTS. Current value of MD3_MAX_VERTS is 4096.
		public int 	NUM_TRIANGLES;// 	Number of Triangle objects defined in this Surface, maximum of MD3_MAX_TRIANGLES. Current value of MD3_MAX_TRIANGLES is 8192.
		public int 	OFS_TRIANGLES;// 	Relative offset from SURFACE_START where the list of Triangle objects starts.
		public int 	OFS_SHADERS;// 	Relative offset from SURFACE_START where the list of Shader objects starts.
		public int 	OFS_ST;// 	Relative offset from SURFACE_START where the list of ST objects (s-t texture coordinates) starts.
		public int 	OFS_XYZNORMAL;// 	Relative offset from SURFACE_START where the list of Vertex objects (X-Y-Z-N vertices) starts.
		public int OFS_END;// 	Relative offset from SURFACE_START to where the Surface object ends.

		public Triangle[] Triangles;

		public Vertex[][] Verts;

		public Shader[] Shaders;

		public TexCoord[] TexCoords;

		public int VERSION;
	}
}